TRAVERSE
Section: Misc. Reference Manual Pages (3WI)
Updated: December 16, 1984
Index
Return to Main Contents
NAME
traverse - recursively traverse a directory
SYNOPSIS
traverse (path, func)
char *path;
int (*func) ();
func (path, filetype, position)
char *path;
DESCRIPTION
traverse
applies its argument function func to its argument file pathname path.
If path is a directory,
then traverse applies func to all its entries.
This traversal is in depth first order
so that files are processed in the order
that they are stored in the directory.
The argument func should take three parameters:
a file name,
a file type,
and a position.
The call looks like this for directories:
(*func) (path, 'd', position);
and like this for other files:
(*func) (path, 'f', position);
The position
is 0 when path is first encountered
and 1 when traverse is done.
This is used to allow processing before and after
a directory is processed.
EXAMPLE
list (name, type, pos)
char *name;
{
if (type == 'd')
printf ("%s %s\n", pos ? "Leaving" : "Entering", name);
else /* type == 'f' */
printf (" %s\n", name);
}
AUTHOR
Gary Perlman
BUGS
There are no diagnostics when directories cannot be searched.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- EXAMPLE
-
- AUTHOR
-
- BUGS
-
This document was created by
man2html,
using the manual pages.
Time: 10:14:18 GMT, January 04, 2023